package com.scsj.supermarket.base;

import android.content.Context;

import com.scsj.supermarket.bean.BaseBean;
import com.scsj.supermarket.bean.LoginBean;
import com.scsj.supermarket.bean.MarketCouPounBean;
import com.scsj.supermarket.bean.MarketDetailBean;
import com.scsj.supermarket.bean.MarketIsOpen;
import com.scsj.supermarket.bean.MarketLeftBean;
import com.scsj.supermarket.bean.MarketRightBean;
import com.scsj.supermarket.bean.MarketShopCarBean;
import com.scsj.supermarket.bean.MarketTopBean;

import dkmvp.net.ResponseCallback;
import okhttp3.RequestBody;
import rx.Subscription;

/**
 * 店铺详情
 */

public class MarketBase {

    public interface IView {

        void showSuccessMsg(String s);

        void showErrorMsg(String s);

        /**
         * 店铺内购物车商品
         *
         * @param marketShopCarData
         */
        void setMarketShopCarData(MarketShopCarBean marketShopCarData);

        /**
         * 操作购物车数据
         */
        void controlMarketShopCarData(BaseBean baseBean);

        /**
         * 设置店铺内左侧数据列表
         *
         * @param marketDetailData
         */
        void setMarketDetailData(MarketDetailBean marketDetailData);

        /**
         * 店铺内优惠券
         *
         * @param marketCoupounData
         */
        void setMarketCoupounData(MarketCouPounBean marketCoupounData);

        /**
         * 店铺右侧列表
         *
         * @param marketRightBean
         */
        void setMarketRightData(MarketRightBean marketRightBean);

    }

    public interface IPresenter {

        /**
         * 店铺内购物车商品
         *
         * @param
         */
        void deliverMarketShopCarList(RequestBody requestBody);

        /**
         * 操作店铺内购物车内商品
         *
         * @param requestBody
         */
        void deliverControlMarketShopcarList(RequestBody requestBody);

        /**
         * 店铺优惠券
         *
         * @param requestBody
         */
        void deliverMarketCoupounList(RequestBody requestBody);

        /**
         * 店铺左侧数据
         *
         * @param requestBody
         */
        void deliverMarketDetailList(RequestBody requestBody);

        /**
         * 店铺右侧数据
         *
         * @param requestBody
         */
        void deliverMarketRightList(RequestBody requestBody);

    }

    public interface IModel {

        /**
         * 店铺内购物车商品
         *
         * @param
         */
        Subscription getMarketShopCarData(RequestBody requestBody, ResponseCallback<MarketShopCarBean> callback);

        /**
         * 操作店铺内购物车商品
         *
         * @param requestBody
         * @param callback
         * @return
         */
        Subscription getControlMarketShopCarData(RequestBody requestBody, ResponseCallback<BaseBean> callback);

        /**
         * 店铺优惠券
         *
         * @param requestBody
         * @param callback
         * @return
         */
        Subscription getMarketCoupounData(RequestBody requestBody, ResponseCallback<MarketCouPounBean> callback);

        /**
         * 店铺左侧数据
         *
         * @param requestBody
         * @param callback
         * @return
         */
        Subscription getMarketDetailData(RequestBody requestBody, ResponseCallback<MarketDetailBean> callback);

        /**
         * 店铺右侧数据
         *
         * @param requestBody
         * @param callback
         * @return
         */
        Subscription getMarketRightData(RequestBody requestBody, ResponseCallback<MarketRightBean> callback);
    }
}
